package com.hbnu.system.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author ${author}
 * @since 2023-05-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("meeting_host")
public class Meeting_host implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键 主办会议编号
     */
    @ApiModelProperty(value = "主键")
    @TableId(value = "HostMeetingID", type = IdType.ASSIGN_ID)
    private String HostMeetingID;

    /**
     * 统计分类
     */
    @ApiModelProperty(value = "统计分类")
    @TableField("classifi")
    private String classifi;

    /**
     * 主办机构
     */
    @ApiModelProperty(value = "主办机构")
    @TableField("hostOrganize")
    private String hostorganize;

    /**
     * 会议名称
     */
    @ApiModelProperty(value = "会议名称")
    @TableField("meetingName")
    private String meetingname;

    /**
     * 会议地点
     */
    @ApiModelProperty(value = "会议地点")
    @TableField("meetingplace")
    private String meetingplace;

    /**
     * 一级学科
     */
    @ApiModelProperty(value = "一级学科")
    @TableField("firstDiscipline")
    private String firstdiscipline;

    /**
     * 会议类型
     */
    @ApiModelProperty(value = "会议类型")
    @TableField("meetingCate")
    private String meetingcate;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    @TableField(value = "startTime", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    /**
     * 结束日期
     */
    @ApiModelProperty(value = "结束日期")
    @TableField(value = "endTime", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    /**
     * 校内合作单位
     */
    @ApiModelProperty(value = "校内合作单位")
    @TableField("cooperateinschool")
    private String cooperateinschool;

    /**
     * 校外合作单位
     */
    @ApiModelProperty(value = "校外合作单位")
    @TableField("cooperateoutschool")
    private String cooperateoutschool;

    /**
     * 国内代表人数
     */
    @ApiModelProperty(value = "采纳单位")
    @TableField("peonumsincountry")
    private String peonumsincountry;

    /**
     * 国外代表人数
     */
    @ApiModelProperty(value = "国外代表人数")
    @TableField("peonumsoutcountry")
    private String peonumsoutcountry;

    /**
     * 国内代表论文数量
     */
    @ApiModelProperty(value = "国内代表论文数量")
    @TableField("papernumsincountry")
    private String papernumsincountry;

    /**
     * 国外代表论文数量
     */
    @ApiModelProperty(value = "国外代表论文数量")
    @TableField("papernumsoutcountry")
    private String papernumsoutcountry;

    /**
     * 国内提供经费金额(万元
     */
    @ApiModelProperty(value = "国内提供经费金额(万元")
    @TableField("fundsincountry")
    private String fundsincountry;

    /**
     * 国外提供经费金额(万元
     */
    @ApiModelProperty(value = "国外提供经费金额(万元")
    @TableField("fundsoutcountry")
    private String fundsoutcountry;

    /**
     * 会议支出经费总计(万元
     */
    @ApiModelProperty(value = "会议支出经费总计(万元")
    @TableField("meetingfunds")
    private String meetingfunds;

    /**
     * 经费来源
     */
    @ApiModelProperty(value = "经费来源")
    @TableField("fundsorigin")
    private String fundsorigin;

    /**
     * 会议情况报告
     */
    @ApiModelProperty(value = "会议情况报告")
    @TableField("meetingsituation")
    private String meetingsituation;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @TableField("notes")
    private String notes;

    /**
     * 录入人
     */
    @ApiModelProperty(value = "录入人")
    @TableField("entered")
    private String entered;

    /**
     * 录入日期
     */
    @ApiModelProperty(value = "录入日期")
    @TableField(value = "enteredDate", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate entereddate;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    @TableField("status")
    private String status;
    /**
     * 未通过原因
     */
    @ApiModelProperty(value = "未通过原因")
    @TableField("reason")
    private String reason;
}
